package clases;

import java.util.Arrays;
import java.util.Collection;

public class HabilitarSoloPuertos extends Accion{
	
	private Collection<Integer>puertosHabilitados;
	private String msjDeLog;

	
	public HabilitarSoloPuertos(Collection<Integer> puertosBloquedos, String msjDeLog) {
		super();
		this.puertosHabilitados = puertosBloquedos;
		this.msjDeLog = msjDeLog;
	}
	
	public HabilitarSoloPuertos(Integer... puertosBloquedos) {
		this(Arrays.asList(puertosBloquedos));
		
	}

	public HabilitarSoloPuertos(Collection<Integer> puertosBloquedos) {
		super();
		this.puertosHabilitados = puertosBloquedos;
		this.msjDeLog = "";
	}
	@Override
	public void aplicar(Paquete paquete) {
		if(!this.puertosHabilitados.contains(paquete.getDestino().getPuerto())){
			System.out.println("No se puede recibir msj, el puerto" +paquete.getDestino().getPuerto() + "se encuentra no habilitado" );
			if(this.msjDeLog != ""){
				System.out.println("LOG:" + this.msjDeLog);
			}
		}
	}
	



	public void setPuertosBloquedos(Collection<Integer> puertosBloquedos) {
		this.puertosHabilitados = puertosBloquedos;
	}


	public Collection<Integer> getPuertosBloquedos() {
		return puertosHabilitados;
	}

	public String getMsjDeLog() {
		return msjDeLog;
	}

	public void setMsjDeLog(String msjDeLog) {
		this.msjDeLog = msjDeLog;
	}


}
